namespace YouVisio.Silverlight.TextDiff
{
    public interface ITextDiffFactory
    {
        void Initialize(ITemplateSource templateSource, ISettingsSource settingsSource);

        IPartsRetriever<int[], int> GetNewInt32PartsRetriever();
        IWordsRetriever GetNewWordsRetriever();
        IDiffAnalyser DiffAnalyser { get; }
        ITextDiffViewerUI TextDiffViewerUI { get; }
        ITextPartFinder TextPartFinder { get; }
        IInputAccessor InputAccessor { get; }
        IOutputManager OutputManager { get; }
    }
}